﻿using EasyAdmin.Application.Contracts.Systems.Auth.Dtos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EasyAdmin.Application.Contracts.Systems.Auth
{
    public interface IAuthAppService
    {
        /// <summary>
        /// 获得图形验证码
        /// </summary>
        /// <returns></returns>
        Task<PicValidCodeOutput> GetCaptchaInfo();

        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<LoginOutput> Login(LoginInput input);

        /// <summary>
        /// 手机号登录
        /// </summary>
        /// <param name="input"></param>
        /// <param name="loginClientType"></param>
        /// <returns></returns>
        Task<LoginOutput> LoginByPhone(LoginByPhoneInput input);

        /// <summary>
        /// 获取登录用户信息
        /// </summary>
        /// <returns></returns>
        Task<LoginUserOutput> GetLoginUser();

        /// <summary>
        /// 退出
        /// </summary>
        /// <returns></returns>
        Task LoginOut();
    }
}
